package main;

import java.util.Date;

import metier.Stock;

public class Commande {
	
	private Date commande_sel = null;
	public Date getCommande_sel() { return commande_sel; }
	public void setCommande_sel(Date commandeSel) {
		commande_sel = commandeSel;
		this.livraison_sel = (Date) this.commande_sel.clone();
		this.livraison_sel.setDate(this.livraison_sel.getDate() + 7);
		}

	private Date commande_ail = null;
	public Date getCommande_ail() { return commande_ail; }
	public void setCommande_ail(Date commandeAil) { 
		commande_ail = commandeAil;
		this.livraison_ail = (Date) this.commande_ail.clone();
		this.livraison_ail.setDate(this.livraison_ail.getDate() + 7);
		}

	private Date commande_epices = null;
	public Date getCommande_epices() { return commande_epices; }
	public void setCommande_epices(Date commandeEpices) { 
		commande_epices = commandeEpices;
		this.livraison_epices = (Date) this.commande_epices.clone();
		this.livraison_epices.setDate(this.livraison_epices.getDate() + 7);	
		}
	
	private Date commande_noix = null;
	public Date getCommande_noix() { return commande_noix; }
	public void setCommande_noix(Date commandeNoix) { 
		commande_noix = commandeNoix;
		this.livraison_noix = (Date) this.commande_noix.clone();
		this.livraison_noix.setDate(this.livraison_noix.getDate() + 7);
		}
	
	
	
	private Date livraison_sel = null;
	private Date livraison_ail = null;
	private Date livraison_epices = null;
	private Date livraison_noix = null;
	
	
	
	
	public void doCommande(Date now)
	{
		if (this.livraison_ail != null)
		{
			if ((now.compareTo(this.livraison_ail) == 0) || (now.after(this.livraison_ail))) 
			{
				Stock.getInstance().setAil(Stock.getInstance().getAil() + 5000);
				System.out.println(now.getDate() + "/" + now.getMonth() + "/" + now.getYear() + " : Livraison d'ail.");
				this.commande_ail = null;
				this.livraison_ail = null;
			}
		}
		
		if (this.livraison_epices != null)
		{
			if ((now.compareTo(this.livraison_epices) == 0) || (now.after(this.livraison_epices)))
			{
				Stock.getInstance().setEpices(Stock.getInstance().getEpices() + 5000);
				System.out.println(now.getDate() + "/" + now.getMonth() + "/" + now.getYear() + " : Livraison d'epices.");
				this.commande_epices = null;
				this.livraison_epices = null;
			}
		}
		
		if (this.livraison_noix != null)
		{
			if ((now.compareTo(this.livraison_noix) == 0) || (now.after(this.livraison_noix)))
			{
				Stock.getInstance().setNoix(Stock.getInstance().getNoix() + 5000);
				System.out.println(now.getDate() + "/" + now.getMonth() + "/" + now.getYear() + " : Livraison de noix.");
				this.commande_noix = null;
				this.livraison_noix = null;
			}
		}
		
		if (this.livraison_sel != null)
		{
			if ((now.compareTo(this.livraison_sel) == 0) || (now.after(this.livraison_sel)))
			{
				Stock.getInstance().setSel(Stock.getInstance().getSel() + 5000);
				System.out.println(now.getDate() + "/" + now.getMonth() + "/" + now.getYear() + " : Livraison de sel.");
				this.commande_sel = null;
				this.livraison_sel = null;
			}
		}
	}
	
	
	
	
	/************************************/
	private static Commande instance;
	
	private Commande() { }
	
	
	public static Commande getInstance()
	{
		if (instance == null)
			instance = new Commande();
		
		return instance;
	}

}
